home *** CD-ROM | disk | FTP | other *** search
- 100 POKE53281,1:PRINT"[147]THIS IS AN ASCII DUMP PROGRAM"
- 110 PRINT"[156]FOR THE COMMODORE 64[146]"
- 120 PRINT"BY DAVID W. MYERS"
- 125 PRINT" VERSION 2.1 2/6/84 [146]"
- 130 FORI=1TO3000:NEXT:BG=0
- 140 GOTO1860
- 150 PRINT"[147]WHERE TO START DUMP?"
- 160 INPUT H$
- 170 GOSUB 1700
- 180 PRINT"[147]"
- 200 GOSUB 1550:DT=PEEK(B)
- 210 AS$=CHR$(DT)
- 220 IF DT=5THENAS$="WHT"
- 230 IF DT=14THENAS$="LOWR C"
- 240 IF DT=158THENAS$="YELLOW"
- 250 IF DT=159THENAS$="CYAN"
- 260 IF DT=18THEN AS$="RVS ON"
- 270 IF DT=156THENAS$="PURPLE"
- 280 IF DT=144THENAS$="BLACK"
- 290 IF DT=31THENAS$="BLUE"
- 300 IF DT=30THENAS$="GREEN"
- 310 IF DT=28THENAS$="RED"
- 320 IF DT=13THEN AS$="<CR>"
- 330 IF DT=17THEN AS$="CRSR D"
- 340 IF DT=145THEN AS$="CRSR U"
- 350 IF DT=157THEN AS$="CRSR L"
- 360 IF DT=29THENAS$="CRSR R"
- 370 IF DT=19THEN AS$="HOME"
- 380 IF DT=147THEN AS$="CLEAR"
- 390 IF DT=20THENAS$="DELETE"
- 400 IF DT=146THENAS$="RVS OF"
- 410 IF DT=141THENAS$="<CR>"
- 420 IF DT=149THENAS$="BROWN"
- 430 IF DT=150THENAS$="LT RED"
- 440 IF DT=151THENAS$="GRAY 1"
- 450 IF DT=152THENAS$="GRAY 2"
- 460 IF DT=153THENAS$="LT GREEN"
- 470 IF DT=154THENAS$="LT BLUE"
- 480 IF DT=155THENAS$="GRAY 3"
- 490 IF DT=156THENAS$="PURPLE"
- 500 PRINT H$ TAB(7) DT TAB(12)AS$
- 510 IF (B/21-INT(B/21)) < 0.01 THEN540
- 520 B=B+I
- 530 GOTO200
- 540 GETA$:IFA$=""THEN540
- 550 I=1
- 560 IFA$="R"THENI=-1
- 570 IFA$="X"THEN STOP
- 580 IFA$="A"THENGOSUB850
- 590 IFA$="H"THENGOSUB670
- 600 IFA$="D"THENGOSUB740
- 610 IFA$="J"THENGOSUB810
- 620 IFA$="C"THENGOSUB980
- 630 IFA$="I"THENGOSUB1190
- 640 IFA$="P"THENGOTO1440
- 650 IFA$="?"THENGOTO1860
- 655 IF BG=0THENBG=1:GOTO150
- 660 GOTO520
- 670 T=B:T$=H$
- 680 INPUT "HEX #";H$
- 690 GOSUB 1700
- 700 PRINT H$" = "B
- 710 B=T:H$=T$
- 720 PRINT
- 730 GOTO 540
- 740 T=B:T$=H$
- 750 INPUT "DEC #";B
- 760 GOSUB 1550
- 770 PRINT B" = "H$
- 780 B=T:H$=T$
- 790 PRINT
- 800 GOTO540
- 810 INPUT "JUMP TO";H$
- 820 GOSUB1700
- 830 B=B-1
- 840 RETURN
- 850 INPUT "WHERE";H$
- 860 GOSUB 1700
- 870 NN = B
- 880 INPUT AX$
- 890 A$=LEFT$(AX$,1):IFA$=""THEN 940
- 900 QL=LEN(AX$)-1:AX$=RIGHT$(AX$,QL)
- 910 W%=INT(ASC(A$)):POKE B,W%
- 920 B=B+1
- 930 GOTO 890
- 940 POKE B,13
- 950 B = NN-1
- 960 GOSUB 1550
- 970 RETURN
- 980 PRINT "BEGINNING OF ORIG "
- 990 INPUT F$
- 1000 PRINT "END OF ORIG "
- 1010 INPUT E$
- 1020 H$=""
- 1030 H$=F$:GOSUB 1700
- 1040 F1=B:H$="":H$=E$:GOSUB1700
- 1050 E1=B:H$=""
- 1060 INPUT "START OF COPYS ";H$
- 1070 GOSUB 1700:CC=B
- 1080 INPUT "REPEAT TIMES ";RR
- 1090 FD = E1-F1+1
- 1100 FOR Q=1TORR
- 1110 FOR QQ=1TOFD
- 1120 Z=(CC+QQ-1+(Q-1)*FD)
- 1130 V%=INT(PEEK(F1+QQ-1))
- 1140 POKEZ,V%
- 1150 NEXT QQ
- 1160 NEXT Q
- 1170 B=F1-1:GOSUB1550
- 1180 RETURN
- 1190 REM INSERT SUBROUTINE
- 1200 PRINT "[147] WE NEED TO KNOW THREE THINGS"
- 1210 PRINT " 1. THE POINT OF INSERTION"
- 1220 PRINT " 2. THE NUMBER OF BYTES INSERTED"
- 1230 PRINT " 3. THE END OF THE REGION MOVED DOWN"
- 1240 PRINT "START OF INSERT"
- 1250 INPUT F$
- 1260 PRINT "BYTES IN INSERT"
- 1270 INPUT E2
- 1280 PRINT "END OF SHIFTED MATERIAL"
- 1290 INPUT S$
- 1300 H$=F$:GOSUB1700
- 1310 F1=B:E1=E2+F1-1
- 1320 H$=S$:GOSUB1700:S1=B
- 1330 EA% = 234 :REM 'NOP' OPCODE
- 1340 FOR J9 = F1 TO S1
- 1350 J = F1+S1-J9
- 1360 KX = (E1+1)+(J-F1)
- 1370 POKE KX,PEEK(J)
- 1380 NEXT J9
- 1390 FOR J = F1 TO E1
- 1400 POKE J,EA%
- 1410 NEXT J
- 1420 B=F1-1:GOSUB1550
- 1430 RETURN
- 1440 T=B:T$=H$
- 1450 INPUT"WHERE ";H$
- 1460 GOSUB 1700
- 1470 V=B
- 1480 PRINT"VALUE:$FF MAX'M"
- 1490 INPUT H$
- 1500 GOSUB1700
- 1510 Z%=INT(B)
- 1520 POKEV,Z%
- 1530 B=T:H$=T$
- 1540 GOTO540
- 1550 REM DEC TO HEX
- 1560 H$=""
- 1570 HEX$="0123456789ABCDEF"
- 1580 X%=INT(B/256)
- 1590 GOSUB 1630
- 1600 X%=INT(B-INT(B/256)*256)
- 1610 GOSUB 1630
- 1620 RETURN
- 1630 Y%=INT(X%/16)
- 1640 Z%=X%-Y%*16
- 1650 H$=H$+MID$(HEX$,Y%+1,1)
- 1660 H$=H$+MID$(HEX$,Z%+1,1)
- 1670 RETURN
- 1680 :
- 1690 REM HEX TO DEC
- 1700 REM
- 1710 B=0:FORL=1TOLEN(H$)
- 1720 B$=MID$(H$,L,1)
- 1730 IF B$<"0"THENGOTO1840
- 1740 IFB$>"9"THENGOTO1770
- 1750 J=VAL(B$)
- 1760 GOTO 1810
- 1770 FORJ=1TO6
- 1780 IFB$=MID$("ABCDEF",J,1)THEN1800
- 1790 NEXTJ:GOTO1840
- 1800 J=J+9
- 1810 B=B*16+J
- 1820 NEXTL
- 1830 RETURN
- 1840 PRINT "BAD HEX #"
- 1850 STOP
- 1860 PRINT "[147] THE COMMANDS ARE :"
- 1870 PRINT "A -- ASCII TYPER"
- 1880 PRINT "C -- COPY CODE"
- 1890 PRINT "D -- DECIMAL TO HEX"
- 1900 PRINT "H -- HEX TO DECIMAL"
- 1910 PRINT "I -- INSERT CODE"
- 1920 PRINT "J -- JUMP TO NEW LOC"
- 1930 PRINT "P -- HEX POKE "
- 1940 PRINT "R -- REVERSE DUMP"
- 1950 PRINT "X -- EXIT PROGRAM"
- 1960 PRINT "? -- DISPLAY MENU"
- 1970 PRINT "<SP> CONTINUE DUMP"
- 1980 PRINT "[144]PRESS KEY TO CONT "
- 1990 GETA$:IFA$=""THEN1990
- 2000 GOTO 550
-